1. Field of Invention
The present invention relates to transmission of data streams with time- or spatially dependent correlations, such as speech, audio, image, handwriting, or video data, across a lossy channel or media. More particularly, the present invention relates to the transmission of packets of multimedia data over a lossy channel.
2. Description of Related Art
When packets, or frames, of data are transmitted over a communication channel, for example, a wireless link, the Internet, or radio broadcast, some data packets may be corrupted, i.e., modified by the channel delayed so that they are not available when needed or altogether lost. Currently, when a data packet is corrupted, an error correction algorithm can be employed to provide replacement data to an output device in place of the corrupted data. Such error handling algorithms are particularly useful when the data packets are processed in real-time, since an output device will continue to output a signal, for example to loudspeakers in the case of audio, or video monitor in the case of video. The correction algorithm employed may be trivial, for example, repeating the last output sample or last output data packet or frame in place of the lost sample or packet or frame. Alternatively, the algorithm may be more complex, or non-trivial.
Three generally employed non-trivial techniques for providing replacement data are retransmission (RETX), error mitigation (EM) and forward error correction (FEC). Retransmission can be either automatic, i.e., built into the communication protocol, as with the transmission control protocol (TCP), or optional as in user datagram protocol (UDP). In the latter case, the decision to request a retransmission is left to the receiver.
Error mitigation relates to techniques for replacing corrupted data with interpolated data. In the case of audio signals, a trivial approach to mitigating errors has been to set all input bits to zero in an indicated corrupted sequence. This approach mutes the entire signal for the duration of the corrupted sequence since silence is preferable to loud pops and clicks. In the case of image signals, a number of image processing methods are known for interpolating the corrupted pixels. Error mitigation is sometimes known as error concealment.
Forward error correction is a set of redundancy techniques used to increase the probability that enough data will reach the receiver that the receiver will be able to re-construct the information data stream faithfully. Forward error correction, more particularly, relates to an error correction scheme using redundant codes that permits errors to be detected and corrected without requesting a retransmission from the transmitter. Several forward error correction codes are well known in the art, including block codes such as Hamming codes or Reed Solomon codes, and non-block codes such as convolutional codes.
It is well known that it is important to protect certain control bits, for example of an audio stream, such as the bits relating to volume control. This can be done by applying a higher rate of redundancy to control data than is used for other data in the same audio stream. This modulation of the level of protection depends on the importance and position of the specifically protected bits in the stream, and is known as unequal error protection.
A considerable amount of work has gone into techniques for dealing with packet corruption during multicast transmission. However, although various techniques have been used, each of these techniques requires additional bandwidth. Accordingly, there exists a need for providing the capability of reducing the amount of additional bandwidth required to communicate data streams over lossy channels while maintaining acceptable levels of degradation.